{
  //  迭代器接口
  let arr=['hello','world'];
  // 这是一个方法
  let map=arr[Symbol.iterator]();
  console.log(map.next());
  console.log(map.next());
  console.log(map.next());
}

{
  //  接口模拟
  let obj={
    start:[1,3,2],
    end:[7,9,8],
    //   定义迭代器接口
    [Symbol.iterator](){
      let self=this;
      let index=0;
      let arr=self.start.concat(self.end);
      let len=arr.length;
      return {
          next(){
            if(index<len){
              //  done表示遍历是否结束
              return {value:arr[index++], done:false}
            }else{
              return { value:arr[index++], done:true}
            }
          }
      }
    }
  }
    console.log('自定义迭代器');
  for(let key of obj){
    console.log(key);
  }
}

{
  let arr=['hello','world'];
  for(let value of arr){
    console.log('value',value);
  }
}
